﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.OMM.HealthMonitor.Entity.Common;

namespace Sinacor.OMM.HealthMonitor.Entity.OrderExecutor
{
    [Serializable()]
    public class ExecutorData : HealthEntityBase, IHealthDataReset
    {
        public ExecutorData()
            : base(HealthType.Executor)
        {
            OrderExecutor = new Executor(this);
            BusinessExecutor = new Executor(this);
            FinancialExecutor = new Executor(this);
            MatchExecutor = new Executor(this);
        }

        private Executor _orderExecutor;
        public Executor OrderExecutor
        {
            get { return _orderExecutor; }
            set { _orderExecutor = value; }
        }

        private Executor _businessExecutor;
        public Executor BusinessExecutor
        {
            get { return _businessExecutor; }
            set { _businessExecutor = value; }
        }

        private Executor _financialExecutor;
        public Executor FinancialExecutor
        {
            get { return _financialExecutor; }
            set { _financialExecutor = value; }
        }

        private Executor _matchExecutor;
        public Executor MatchExecutor
        {
            get { return _matchExecutor; }
            set { _matchExecutor = value; }
        }

        #region IHealthDataReset Members
        public void Reset()
        {
            OrderExecutor.Reset();
            BusinessExecutor.Reset();
            FinancialExecutor.Reset();
            MatchExecutor.Reset();
        }

        #endregion
    }
}
